home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2003 November A / PCWK1103A.iso / Adobe After Effects 6.0 tryout / MM5.Cab / F3669_MPS.dll.304FA6F7_2783_11D4_8520_00C04F602FD3 / PSIN / PS3INIT
Text File  |  2003-07-18  |  7KB  |  200 lines

  1. % @(#)CM_VerSion startup.ps 2017 1.2 17642.eco sum= 59644 2017.012
  2. % @(#)CM_VerSion startup.ps highend 1.2 16708.eco sum= 59644 2017.801
  3. %!
  4.  
  5. % File: startup.ps
  6.  
  7. % (c) Copyright 1990-1994 Adobe Systems Incorporated.
  8. % All rights reserved.
  9.  
  10. % Patents Pending
  11.  
  12. % NOTICE:  All information contained herein is the property of
  13. % Adobe Systems Incorporated.  Many of the intellectual and
  14. % technical concepts contained herein are proprietary to Adobe,
  15. % are protected as trade secrets, and are made available only to
  16. % Adobe licensees for their internal use.  Any reproduction or
  17. % dissemination of this software is strictly forbidden unless
  18. % prior written permission is obtained from Adobe.
  19.  
  20. % PostScript and Display PostScript are trademarks of Adobe Systems
  21. % Incorporated which may be registered in certain jurisdictions.
  22.  
  23. %
  24. % This is a module of the fledgeling/debugging Distiller test product.
  25. %
  26. % This file is run as a "startjob", i.e. "outside the server loop",
  27. % after the PostScript server has been initialized but just before
  28. % PSRIPInitialize returns.
  29.  
  30. <<
  31.     % enable / disable thumbnail generation
  32.     /DoThumbnails false
  33.  
  34.     % enable / disable compressed text and graphics
  35.     /LZWEncodePages false
  36.     /ASCII85EncodePages true
  37.     
  38.     % font embedding
  39.     /EmbedAllFonts true
  40.     /SubsetFonts true
  41.     /AlwaysEmbed []
  42.     /NeverEmbed []
  43.     
  44.     % image parameters
  45.     /ConvertCMYKImagesToRGB true
  46.     /DownsampleColorImages true
  47.     /ColorImageResolution 72
  48.     /AntiAliasColorImages false
  49.     /ColorImageDepth -1    % can be -1, 1, 2, 4, or 8; -1 means outbps = inbps
  50.     /EncodeColorImages false
  51.     /ColorImageFilter /DCTEncode
  52.     /ColorImageDict <<
  53.     [
  54.         {    % jpeg low
  55.             /QFactor 0.1
  56.             /HSamples [1 1 1 1]
  57.             /VSamples [1 1 1 1]
  58.         }
  59.         {    % jpeg medium-low
  60.             /QFactor 0.25
  61.             /HSamples [1 1 1 1]
  62.             /VSamples [1 1 1 1]
  63.         }
  64.         {    % jpeg medium
  65.             /QFactor 0.5
  66.             /HSamples [2 1 1 2]
  67.             /VSamples [2 1 1 2]
  68.             /Blend 1
  69.         }
  70.         {    % jpeg medium-high
  71.             /QFactor 0.9
  72.             /HSamples [2 1 1 2]
  73.             /VSamples [2 1 1 2]
  74.             /Blend 1
  75.         }
  76.         {    % jpeg high
  77.             /QFactor 1.3
  78.             /HSamples [2 1 1 2]
  79.             /VSamples [2 1 1 2]
  80.             /Blend 1
  81.         }
  82.     ] 2 get exec
  83.     >>
  84.  
  85.     /DownsampleGrayImages true
  86.     /GrayImageResolution 72
  87.     /AntiAliasGrayImages false
  88.     /GrayImageDepth -1
  89.     /EncodeGrayImages false
  90.     /GrayImageFilter /DCTEncode
  91.     /GrayImageDict <<
  92.     [
  93.         {    % jpeg low
  94.             /QFactor 0.1
  95.             /HSamples [1 1 1 1]
  96.             /VSamples [1 1 1 1]
  97.         }
  98.         {    % jpeg medium-low
  99.             /QFactor 0.25
  100.             /HSamples [1 1 1 1]
  101.             /VSamples [1 1 1 1]
  102.         }
  103.         {    % jpeg medium
  104.             /QFactor 0.5
  105.             /HSamples [2 1 1 2]
  106.             /VSamples [2 1 1 2]
  107.             /Blend 1
  108.         }
  109.         {    % jpeg medium-high
  110.             /QFactor 0.9
  111.             /HSamples [2 1 1 2]
  112.             /VSamples [2 1 1 2]
  113.             /Blend 1
  114.         }
  115.         {    % jpeg high
  116.             /QFactor 1.3
  117.             /HSamples [2 1 1 2]
  118.             /VSamples [2 1 1 2]
  119.             /Blend 1
  120.         }
  121.     ] 2 get exec
  122.     >>
  123.  
  124.     /DownsampleMonoImages true
  125.     /MonoImageResolution 300
  126.     /AntiAliasMonoImages false
  127.     /MonoImageDepth -1
  128.     /EncodeMonoImages false
  129.     /MonoImageFilter /CCITTFaxEncode
  130.     /MonoImageData <</K -1>>
  131.     
  132.     % device independent color
  133.     /OutputCSD true
  134. >> setdistillerparams
  135.   % The above is a convenience, to avoid making a new VM when testing
  136.  
  137. %
  138. % Configure the default output device to have 144 dpi resolution
  139. %
  140. << /HWResolution [ 144 144 ] /OutputPage false >> setpagedevice
  141.  
  142. % Redefine the PostScript definefont operator
  143. %
  144. % This is a hack made necessary by the strange way that Illustrator-generated EPS
  145. % files and native Illustrator files (pre version 9) define fonts for vertical writing
  146. % direction for Asian fonts. The AI-idiom is as follows:
  147. %
  148. %   [/_MS-Gothic-90ms-RKSJ-V/MS-Gothic 1 1 0 TZ
  149. %
  150. % where TZ is an AI-defined procedure which does a findfont on MS-Gothic (in this case)
  151. % then creates a new font dict from the dict that findfont returns, and adds some
  152. % private keys to it (/FontDirection, /FontScript, and /FontRequest), and sets the
  153. % Encoding vector. Finally, 'definefont' is called with the new font dict, defining
  154. % a font with name == the first argument to the TZ proc (in the case above,
  155. % _MS-Gothic-90ms-RKSJ-V). 
  156. %
  157. % Notice that this name (_MS-Gothic-90ms-RKSJ-V) is composed of a base font (MS-Gothic)
  158. % and a CMap (90ms-RKSJ-V). The CMap name can be any valid CMap; note the 'V' at the end.
  159. % This designates a vertical writing direction, but the PS interpreter will only do
  160. % vertical writing if a font has a WMode key with value == 1. The 'definefont' sequence
  161. % described above does not add a WMode key to the font dict, so even though the resulting
  162. % composite font uses a vertical writing CMap, the horizontal metrics will be used,
  163. % resulting in incorrect text placement.
  164. %
  165. % Because MPS uses CoolType as its font resource server, if Illustrator generated PS
  166. % code that did a findfont on MS-Gothic-90ms-RKSJ-V, everything would be fine, because
  167. % CoolType would create a font definition with the correct WMode setting. However, AI
  168. % chooses not to do this, but instead create the composite font via definefont. Here's
  169. % where our hack comes in: we redefined the definefont operator in order to recognize
  170. % this case. We examine each font that is defined, looking for the presence of the
  171. % Illustrator private keys (/FontDirection, /FontScript, and /FontRequest), and if
  172. % we find them, we assume the font dict was Illustrator-generated. If FontDirection
  173. % is 1 (meaning vertical writing) we add a WMode entry to the dict with value 1
  174. % to force the font definition to be consistent with the CMap being used.
  175. %
  176. % NOTE: this is a heuristic which could be tricked into doing the wrong thing, but we
  177. % believe that looking for all these keys virtually guarantees correct identification.
  178. %
  179. % Invocation: /fontname <font dict> definefont
  180.  
  181. /definefont {
  182.     dup begin
  183.         % If the font dict has /FontDirection, /FontScript, and /FontRequest keys,
  184.         % we assume it's an Illustrator-defined font
  185.         currentdict /FontDirection known
  186.           currentdict /FontScript known currentdict /FontRequest known and and
  187.         {
  188.             % 'FontDirection == 1' means 'vertical writing direction', so we add
  189.             % a WMode entry to the font dict to let the PS interpreter know
  190.             % the intended writing mode.
  191.             FontDirection 1 eq {
  192.                 /WMode 1 def
  193.             } if
  194.         } if
  195.     end
  196.     % Now execute the 'real' definefont operator
  197.     systemdict /definefont get exec
  198. } bind def
  199.